struct privateData {
	word			    flag;			/*  bit 15  1 = icon  0 = bundle  bit 0 = dirty */
	long			    resID;
	handle		        resData;
	handle		        winTitle;
	handle		        winTempH;
	QDIconRecord	    **editH;	    /* the copy being edited */
	QDIconRecord	    **undoH;		/* copy of icon for undo */
	GrafPort		    **imageCache;	/* offscreen image image */
	GrafPort		    **maskCache;	/* offscreen mask image */
	word			    color;		    /* color selected */
	word			    maskColor;		/* mask color selected */
	word			    tool;			/* tool selected */
    word                infoHeight;
	Rect			    fatIRect;		/* fatbits image rect */
	Rect			    fatMRect;		/* fatbits mask rect */
	Rect			    sizeRect;		/* resize box rect */
	Rect			    iconRect;		/* rect containing icon image */
	Rect			    infoRect;		/* the infoBar rectangle */
    Rect                grafRect;       /* the window portRect */
	BundleStructHndl    structH;
};
typedef struct privateData *privateDataPtr, **privateDataHndl;


typedef struct {
	QDIconRecord	**iconH;		/* icon resource data */
    QDIconRecord	**oldIconH;		/* old icon (for colors) */
    QDIconRecord	**undoIconH;	/* undo icon */
    CtlRec			**control;		/* check box */
	GrafPort		**imageCache;	/* offscreen image image */
	GrafPort		**maskCache;	/* offscreen mask image */
	Boolean			dirty;			/* dirty */
    Rect			fatIRect;		/* fatbits image rect */
    Rect			fatMRect;		/* fatbits mask rect */
    Rect			sizeRect;		/* resize box rect */
	short			color;			/* color selected */
	short			tool;			/* tool selected */
	long			resID;			/* resource ID of the icon */
	} IconData;
